package com.sixth.bean.common;

import lombok.Data;

/**
 * @author stone
 * @date 2022/01/06 16:24
 */
@Data
public class BaseRespVo<T> {
    int errno;
    String errmsg;
    T data;

    //ljh:默认成功方法，data为null
    public static <T> BaseRespVo ok() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrmsg("成功");
        return baseRespVo;
    }
    public static  BaseRespVo ok(String errmsg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrmsg(errmsg);
        baseRespVo.setErrno(200);
        return baseRespVo;
    }

    public static  BaseRespVo ok(String errmsg,int code) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrmsg(errmsg);
        baseRespVo.setErrno(code);
        return baseRespVo;
    }

    public static <T> BaseRespVo ok(T data,Integer errno) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setData(data);
        baseRespVo.setErrmsg("操作成功");
        baseRespVo.setErrno(errno);
        return baseRespVo;
    }

    public static <T> BaseRespVo ok(T data) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setData(data);
        baseRespVo.setErrmsg("操作成功");
        return baseRespVo;
    }

    // 增加一个返回0，data，成功的方法
    public static <T> BaseRespVo success(T data){
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setData(data);
        baseRespVo.setErrmsg("成功");
        return baseRespVo;
    }

    public static <T> BaseRespVo invalidData(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(504);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }
    public static <T> BaseRespVo invalidData() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(504);
        baseRespVo.setErrmsg("更新数据已失效");
        return baseRespVo;
    }
    public static <T> BaseRespVo invalidParameter(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(400);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }
    public static <T> BaseRespVo unAuthc() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(502);
        baseRespVo.setErrmsg("认证失败");
        return baseRespVo;
    }



    /**
     *
     * @author qys
     * @date 2022/9/9 9:16
     * @param errmsg 返回的信息
     * @param errno  返回的状态码
     * @return BaseRespVo
     */

    public static <T> BaseRespVo invalidNoAndMsg(String errmsg, Integer errno) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(errno);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }


    public static <T> BaseRespVo noLogin() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(605);
        baseRespVo.setErrmsg("用户名或密码错误！");
        return baseRespVo;
    }

    public static <T> BaseRespVo noWxLogin() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(700);
        baseRespVo.setErrmsg("账号不存在");
        return baseRespVo;
    }





    //lixinhang新增，类目修改过程中，存在输入参数不合法的情况
    public static BaseRespVo error(String message){
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(401);
        baseRespVo.setErrmsg(message);
        return baseRespVo;
    }

}
